package com.bassnsmq.dataf.core;

import com.bassnsmq.dataf.core.statistics.container.communicator.AbstractContainerCommunicator;
import org.apache.commons.lang3.Validate;

import javax.security.auth.login.Configuration;

public abstract class AbstractContainer {

    protected Configuration configuration;

    protected AbstractContainerCommunicator containerCommunicator;

    public AbstractContainer(Configuration configuration) {
        Validate.notNull(configuration, "Configuration can not be null.");

        this.configuration = configuration;
    }


    public Configuration getConfiguration() {
        return configuration;
    }


    public AbstractContainerCommunicator getContainerCommunicator() {
        return containerCommunicator;
    }

    public void setContainerCommunicator(AbstractContainerCommunicator containerCommunicator) {
        this.containerCommunicator = containerCommunicator;
    }

    public abstract void start();
}
